package bean;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.SelectItem;

import modelo.Empresa;
import modelo.Usuario;
import banco.EmpresaDAO;
import banco.UsuarioDAO;

@ManagedBean(name = "usuarioBean")
@SessionScoped
public class UsuarioBean {
	
	private Usuario usuario = new Usuario();
	private UsuarioDAO daoUsuario = new UsuarioDAO();
	private EmpresaDAO daoEmpresa = new EmpresaDAO();
	private List<SelectItem> empresas = new ArrayList<SelectItem>();
	private Empresa empresa;
	
	
	public String save(){
		if (this.getEmpresa() != null){
			this.usuario.setIdEmpresa(this.empresa);
		}
		
		daoUsuario.saveOrUpdate(usuario);
		usuario  = new Usuario();
		return "sucesso";
	}
	

	public Usuario getUsuario() {
		return usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public UsuarioDAO getDaoUsuario() {
		return daoUsuario;
	}

	public void setDaoUsuario(UsuarioDAO daoUsuario) {
		this.daoUsuario = daoUsuario;
	}


	public List<SelectItem> getEmpresas() {
		empresas.clear();
		empresas.add(new SelectItem(null, "Selecione"));
		List<Empresa> obterEmpresas =  daoEmpresa.listar();
		for(int i = 0; i < obterEmpresas.size(); i++){
			Empresa e = obterEmpresas.get(i);
			SelectItem si = new SelectItem(e.getIdEmpresa(),e.getNomeFantasia());
			empresas.add(si);
		}
		
		return empresas;
	}


	public void setEmpresas(List<SelectItem> empresas) {
		this.empresas = empresas;
	}


	public EmpresaDAO getDaoEmpresa() {
		return daoEmpresa;
	}


	public void setDaoEmpresa(EmpresaDAO daoEmpresa) {
		this.daoEmpresa = daoEmpresa;
	}


	public Empresa getEmpresa() {
		if (empresa == null) {
			empresa = new Empresa();
		}
		return empresa;
	}


	public void setEmpresa(Empresa empresa) {
		this.empresa = empresa;
	}
	
	
	

	
	
	
	
	

}
